import axios from 'axios'
import request from '../utils/request'
//向第三方网站发起请求获取分类数据
// https://website.fnji.com/mt/s/ProductCategoryModel/enum?fnjiType=1
export const fnjiCategoryGet = (n)=>{
  return axios.get(`/fnji/mt/s/ProductCategoryModel/enum?fnjiType=${n}`)
}

// 测试第三方post接口
export const testPost = ()=>{
  let url = '/tyapi/api/app/t-talk-api/api/visitor/language/list'
  return axios.post(url,{
    encryptedCompanyId:"c49e79a32e415c086360bdae0ce3972c"
  })
}

//批量存储分类的数据
export const categoryBatch = (cateArr,fnjiType)=>{ //cateArr是想要存的数组数据，fnjiType是主类目标志
  let arr = [
    // {
    //   "method": "POST", // 1. 这一条数据执行什么操作
    //   "path": "/1.1/classes/category", //2. 批量操作目标表
    //   "body": { //3. 携带的数据包
        // "value": "C09",
        // "name": "椅/凳",
        // "fnjiType":1
    //   }
    // }
  ]
  for(let i=0;i<cateArr.length;i++){
    cateArr[i].fnjiType = fnjiType
    arr.push({
      "method": "POST", // 1. 这一条数据执行什么操作
      "path": "/1.1/classes/category", //2. 批量操作目标表
      "body": cateArr[i]
    })
  }
  return request.post('/batch',{
    "requests":arr
  })
}

//从LeanCloud加载分类数据
export const categoryGet = (type)=>{
  //查询条件的字段名需要跟数据库对应
  return request.get(`/classes/category?where={"fnjiType":${type}}`)
}

//根据分类编码参数，从第三方获取对应的商品数据
export const fnjiProductGet = async (category,fnjiType,objectId)=>{
  let url = `/fnji/mt/s/ProductSkuModel/getByCategory?category=${category}&fnjiType=${fnjiType}`
  let res = await axios.get(url) //1. 获取数据
  console.log('====================================');
  console.log(res.data.data);
  console.log('====================================');
  await productBatch(res.data.data) //2. 转存数据
  await categoryPut(objectId)  //3. 记录转存行为
}

// 批量转存商品数据
export const productBatch = async (prodArr)=>{ 
  let arr = [
    // {
    //   "method": "POST", // 1. 这一条数据执行什么操作
    //   "path": "/1.1/classes/product", //2. 批量操作目标表
    //   "body": { //3. 携带的数据包
    //      ...商品数据字段
    //   }
    // }
  ]
  for(let i=0;i<prodArr.length;i++){
    arr.push({
      "method": "POST", // 1. 这一条数据执行什么操作
      "path": "/1.1/classes/product", //2. 批量操作目标表
      "body": prodArr[i]
    })
  }
  return request.post('/batch',{
    "requests":arr
  })

  
}

//更新分类数据表，记录转存历史
export const categoryPut = (objectId)=>{
  return request.put(`/classes/category/${objectId}`,{
    saveType:1   //1代表当前分类对应的商品数据已经被转存了
  })
}